package com.da.springtest.proxy.java;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;

/**
 * @author chenlida
 * @date 2020/6/15 19:22
 * @description
 */
public class InvocationHandlerTest1 {
    public static void main(String[] args) {
        // 1. 创建代理类的处理器
        InvocationHandler invocationHandler = (proxy, method, args1) -> {
            System.out.println("我是InvocationHandler，被调用的方法是：" + method.getName());
            return null;
        };
        // 2. 创建代理实例
        IService proxyService = (IService)Proxy.newProxyInstance(IService.class.getClassLoader(),
            new Class[] {IService.class}, invocationHandler);
        // 3. 调用代理的方法
        proxyService.m1();
        proxyService.m2();
        proxyService.m3();
    }
}
